草庐IT

fiddler 抓手机的包

全部标签

go - 如何使用 go get 导入特定版本的包?

来自Node环境我曾经通过告诉npm将vendor库的特定版本安装到项目文件夹(node_modules)从package.json或什至直接从控制台安装该版本的库,如下所示:$npminstallexpress@4.0.0然后我过去常常在我的项目中导入那个版本的包:varexpress=require('express');现在,我想用go做同样的事情。我怎样才能做到这一点?是否可以安装特定版本的软件包?如果是这样,使用集中式$GOPATH,我如何导入一个版本而不是另一个版本?我会做这样的事情:$gogetgithub.com/wilk/uuid@0.0.1$gogetgithub.

go - 用于多个 go 包的包绑定(bind)资源使用

举个例子:我有2个包,repo.com/alpha/A和repo.net/beta/B。包A使用包B,两者都按示例结构。A:main.goB:b.gotemplates\1.tmpl2.tmpl在A包的main.go中,我需要访问B包的模板目录。去吧vartemplatesstringtemplates=templatepathfuncinit(){templatepath,_=filepath.Abs("./templates")}主.goimport(repo.net/beta/B)funcmain(){fmt.Printf("%s",B.templates)}所以问题出现在我更复

go - 无法在 main 以外的包内调用测试

我正在为我的go代码和发件人文件夹内部编写测试,发件人包我添加了exposed_api_test.go(也尝试了exposed_api_test.go因为我有代码exposed_api.go)packagesenderimport("log""testing""github.com/stretchr/testify/assert")funcTestTimeConsuming(t*testing.T){assert.Equal(t,"test","test1")}当我运行构建并运行命令gotestmy_project我得到?my_project[无测试文件]当我将测试从这个包中取出时(在

go - 找不到共享库的包

我正在尝试在go-lang中使用共享库,我正在关注这篇博文:http://blog.ralch.com/tutorial/golang-sharing-libraries/但是当我点击构建时,我得到了一个错误:simo@simo:~/gopath$gobuild-linkshared-oappeffe/provasrc/effe/prova/prova.go:3:8:cannotfindpackage"libmath"inanyof:/usr/local/go/src/libmath(from$GOROOT)/home/simo/gopath/src/libmath(from$GOPA

go - 如何解决 Go 中的包依赖?

我是Go的新手,我想要一些我下载的源代码。虽然,它导入了两个我没有的包,即这两个:import("git.schwanenlied.me/yawning/chacha20.git""golang.org/x/crypto/sha3")Go有没有工具或者方法可以自动读取目录下的源文件并下载需要的包?另一方面,当我尝试使用goget下载它们时,我得到一个错误,它使用了不安全的协议(protocol)(由于git)。有什么想法可以解决这些依赖关系吗? 最佳答案 据我所知没有这样的工具。但在您的情况下,您可以使用“goget”,只需从行尾删

go - 如何从 Go 模块导入特定的包?

Golang1.11beta2引入了对Modules的实验性支持.我无法从go模块导入特定包。这是构建应用程序时的错误:$goinstallgo:downloadinggithub.com/udhos/modhello/modlib/libv1.0.0go:findinggithub.com/udhos/modhellolatestgo:import"github.com/udhos/modhello/modapp"->import"github.com/udhos/modhello/modlib/lib":cannotfindmoduleprovidingpackagegithub.

go - 限制 VS Code for Go 仅下载 v 1.11 的包

我正在使用VisualStudioCode1.33.1版作为我们的Go应用程序的IDE。我们想为我们的应用程序使用Go版本1.11。但是看起来我们正在使用的一个或多个依赖项已经为Go1.12下载了一个包。现在,VSCode无法构建应用程序并出现以下错误:gobuildgolang.org/x/sys/unix:modulerequiresGo1.12gobuildgithub.com/pelletier/go-toml:modulerequiresGo1.12go[1,1]我尝试重新安装Go1.11,删除有问题的软件包并让它重新安装。无论我何时尝试构建VSCode,下载1.12版本都无

go - Go如何定位导入的包?

我是Go新手,我已经根据Howtowritegocode准备了我的工作空间但现在我很困惑go工具如何获取包的路径,如fmt、strings或我自己的包。在C语言中,我们通过-I提供头文件路径,通过-L提供链接器路径,但在Go中我们提供了两个路径GOHOME和GOPATH两个路径都是bin目录,它们都没有指定包路径。 最佳答案 如您链接的文章中所述,GOPATH(和其他go位置)应该为已编译的库分配一个“pkg”目录,为库源分配一个“src”目录。它们不仅仅是bin目录。 关于go-Go如

go - 不为我自己的包使用 repo 路径的影响

假设我决定将所有个人开发的包组织起来如下:$GOPATH/bin/pkg/src/somepkg1somepkg2...somepkgN进一步,假设它们之间有大量的代码重用,那么我决定将整个$GOPATH工作区保留在同一个Git下存储库(每个包都可以是一个子模块),而不是更多子包不太连贯的传统场景(共存仅仅因为使用goget来自同一工作区):$GOPATH/bin/pkg/src/github.com//somepkg1somepkg2...somepkgN我可以看到使用前一种方法(不使用github.com//在包路径中),goget将无法获取包作为他们并没有“宣布”自己可以在线使用

go - 在开发 golang 库时,我们是否应该始终将自己的包放在 vendor/folder 中?

最近看了一篇文章http://glide.readthedocs.io/en/latest/vendor/,有一些建议,其中之一是:Libraries(codebaseswithoutamainpackage)shouldnotstoreoutsidepackagesinavendor/folderintheirVCSunlesstheyhaveaspecificreasonandunderstandwhythey'redoingit.我的问题是:根据这个建议,在开发golang库时,我们是否应该始终将自己的包(而不是那些第三方包)放在vendor/文件夹中?